import json
import pymysql

conn = pymysql.connect(
    host="192.168.206.130",
    user="xialu",
    password="123456",
    port=3306,
    db="test5"
)

# 创建游标--》真正的执行sql语句
# 开启隐形的事务 => commit才会数据提交到数据库
cur = conn.cursor()

# 修改后的 SQL 语句
sql = """
CREATE TABLE IF NOT EXISTS game (
    id INT NOT NULL AUTO_INCREMENT,  # 增加 AUTO_INCREMENT 属性
    name VARCHAR(20) NOT NULL,
    price INT,
    stock INT NOT NULL,
    PRIMARY KEY (id)  # 设置主键
)
"""
cur.execute(sql)

with open('./test.json', 'r', encoding='utf-8') as file:
    data = json.loads(file)
    # 从文件中读取JSON数据并解析为Python字典，赋值给data变量

for name, details in data.items():
    #SQL 插入语句需要将 name 作为字段之一插入到数据库表 game 中 且name一般不会改变且唯一
    price = float(details['价格'])
    # 拿出字典中的价格
    stock = int(details['库存'])

    sql = "INSERT INTO game (name, price, stock) VALUES (%s, %s, %s)"

    cur.executecur.execute(sql, (name, price, stock))
    #括号里的参数1是sql语句，参数2是元组，元组里的每个元素对应SQL语句中的占位符
    conn.commit()


# 关闭游标和连接
cur.close()
conn.close()
